package mx.ipn.presentacion.radioperadora;

import com.trolltech.qt.gui.*;
import com.trolltech.qt.core.*;

import mx.ipn.presentacion.ConexionConNegocios;
import mx.ipn.presentacion.radioperadora.ui.*;
import mx.ipn.to.ChoferTO;
import mx.ipn.to.UnidadTO;

public class DialogRegistrarUnidad extends QDialog {
	Ui_RegistrarUnidad ui = new Ui_RegistrarUnidad();
	UnidadTO[] unidades;
	ChoferTO[] choferes;
	
	DialogRegistrarUnidad(){
		ui.setupUi(this);
		
		llenarComboBoxChoferes();
		llenarComboBoxUnidades();
	}
	
	DialogRegistrarUnidad(QWidget parent){
		ui.setupUi(this);	
	}
	
	private void llenarComboBoxChoferes(){
		choferes = (ChoferTO[]) ConexionConNegocios.invocaServicio("obtenerChoferes", ChoferTO[].class);
		
		for(ChoferTO c : choferes)
			ui.comboBoxChofer.addItem(c.getApellidoPaterno() + " " + c.getApellidoPaterno() + " " + c.getNombre() + ", " + c.getNumeroTarjeton());
	}
	
	private void llenarComboBoxUnidades(){
		unidades = (UnidadTO[]) ConexionConNegocios.invocaServicio("obtenerUnidades", UnidadTO[].class);
		
		for(UnidadTO u : unidades)
			ui.comboBoxUnidad.addItem(u.getPlacas() + ", " + u.getSubmarcaTO().getMarcaTO().getNombre() + " " + u.getSubmarcaTO().getNombre() + " " + u.getModelo());
	}
	
	void on_comboBoxUnidad_currentIndexChanged(int i){
		ui.lineEditEconomico.setText(Integer.toString(unidades[i].getEconomicoTO().getIdEconomico()));
	}
	
	void on_pushButtonOk_clicked(Boolean b){
		this.close();
	}
	
	void on_pushButtonCancel_clicked(Boolean b){
		this.close();
	}
	
	public int getChoferIndex(){
		return ui.comboBoxChofer.currentIndex();
	}
	
	public int getChoferId(){
		return choferes[ui.comboBoxChofer.currentIndex()].getIdChofer();
	}
	
	public int getUnidadIndex(){
		return ui.comboBoxUnidad.currentIndex();
	}
	
	public int getUnidadId(){
		return unidades[ui.comboBoxUnidad.currentIndex()].getIdUnidad();
	}
	
	public int getEconomicoIndex(){
		return Integer.parseInt(ui.lineEditEconomico.text());
	}
}
